package com.ygy.bytedance;

/**
 * @Description 无重复字符的最长子串
 * @Author ygy
 * @Date 2020/7/13
 */
public class Solution1 {
    /**
     * 给定一个字符串，请你找出其中不含有重复字符的 最长子串 的长度。
     * 示例 1
     * 输入: "abcabcbb"
     * 输出: 3
     * 解释: 因为无重复字符的最长子串是 "abc"，所以其长度为 3。
     *
     * 示例 2
     * 输入: "bbbbb"
     * 输出: 1
     * 解释: 因为无重复字符的最长子串是 "b"，所以其长度为 1。
     *
     * 示例 3
     * 输入: "pwwkew"
     * 输出: 3
     * 解释: 因为无重复字符的最长子串是 "wke"，所以其长度为 3。
     *      请注意，你的答案必须是 子串 的长度，"pwke" 是一个子序列，不是子串。
     * @param s
     * @return
     */
    public int lengthOfLongestSubstring(String s) {
        if(s==null || s.length()==0){
            return 0;
        }
        if(s.length()==1){
            return 1;
        }

        int maxLength=1;
        char nextChar;
        char[] chars=s.toCharArray();
        for (int i=0;i<chars.length-1;i++){
            if(chars[i]!=chars[i+1]){
                maxLength++;
                nextChar=chars[i+1];
            }
        }
        return 0;
    }
}
